#include "loginwindow.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QMessageBox>
#include <QPixmap>
#include <QTextStream>
#include <QString>
#include <QLabel>
#include <QTimer>

LoginWindow::LoginWindow(QWidget *parent)
    : QWidget(parent),bo(false),pageSum(0),pageCurr(0),mapCurr(0),YanZheng("MO12345"),
    secondsRemaining(50 * 60),  // 初始设定为30分钟（30 * 60 秒）
    reminderCount(0),flagTime(false)
{
    timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &LoginWindow::updateTimer);
    userData["异教"] = qMakePair(qMakePair("yijiao1", ":/images/images/yijiao1.jpg"),
                                 QStringList{":/images/images/yijiao1.jpg", ":/images/images/yijiao2.jpg", ":/images/images/yijiao3.jpg", ":/images/images/yijiao4.jpg", ":/images/images/yijiao5.jpg"});
    userData["盟军指挥官"] = qMakePair(qMakePair("mengzhi2", ":/images/images/mengzhi1.jpg"),
                                        QStringList{":/images/images/mengzhi1.jpg", ":/images/images/mengzhi2.jpg", ":/images/images/mengzhi3.jpg", ":/images/images/mengzhi4.jpg", ":/images/images/mengzhi5.jpg"});
    userData["将军同志"] = qMakePair(qMakePair("jiangjun3", ":/images/images/jiangjun1.jpg"),
                                      QStringList{":/images/images/jiangjun1.jpg", ":/images/images/jiangjun2.jpg", ":/images/images/jiangjun3.jpg", ":/images/images/jiangjun4.jpg", ":/images/images/jiangjun5.jpg"});
    userData["天秤"] = qMakePair(qMakePair("tiancheng", ":/images/images/tiancheng1.jpg"),
                                  QStringList{":/images/images/tiancheng1.jpg", ":/images/images/tiancheng2.jpg", ":/images/images/tiancheng3.jpg", ":/images/images/tiancheng4.png", ":/images/images/tiancheng5.png"});
    userData["拉什迪"] = qMakePair(qMakePair("lashidi4", ":/images/images/lashidi1.png"),
                                   QStringList{":/images/images/lashidi1.png", ":/images/images/lashidi2.png", ":/images/images/lashidi3.png", ":/images/images/lashidi4.png", ":/images/images/lashidi5.png"});
    userData["云茹"] = qMakePair(qMakePair("yunru5", ":/images/images/yunru1.jpg"),
                                 QStringList{":/images/images/yunru1.jpg", ":/images/images/yunru2.jpg", ":/images/images/yunru3.jpg", ":/images/images/yunru4.png", ":/images/images/yunru5.jpg"});
    m["异教"] = "个人经历：我在军校有两个好友，一个是美国人，一个是苏俄人。我和他们的关系一直很好，毕竟我们一起走过了军校的岁月，未来的路上也都将肩负起指挥官的责任。虽然日后我们有各自的想法和不同的理念，但那段兄弟情谊始终未曾改变。"
                "毕业时，我们三个人曾郑重其事地约定，无论未来如何，都绝不会对彼此动手，永远是好兄弟，互相支持。还在军校时我就认识尤里，一直在帮尤里做事。毕业后我与尤里一起1奔向我们的理念。我成为他最忠实信徒。尤里虽是苏联军事顾问，但我们知道，要完成我们的大业最终一定是要要脱离苏联。尤里为让苏联向盟军进攻，派我前去破坏美国“和平守护者”洲际导弹储存地点。"
                "我指挥尤里训练的超能力部队成功完成任务，超能力部队是可以控制人的心智的士兵，超能力部队为了这件事不被美国方面察觉，超能力部队将自己的心灵能量过载，最终抽干自己的大脑自杀。强大的心灵能量使尸体附近重力场不稳。之后苏联开始入侵美国，我和尤里在苏联入侵美国的第一场战斗就看到了苏联英雄鲍里斯的强悍，以后定是阻挡大业的绊脚石，并且鲍里斯的躯体将会是强大战士最好的载体。于是尤里用他绝对的心灵能量暗杀了鲍里斯，鲍里斯的尸体被运送回国，而我们，又悄悄把他的尸体偷出来，用于尤里的实验。"
                "但是由于鲍里斯意识的强大，尤里耗费好大功夫才湮灭鲍里斯的意识，所在在当地留下了一段时间的局部重力场，苏联方面在东部打下纽约，西部也进展顺利。尤里为了能获取更多话语权和资金，"
                "让我配合超能力部队拆除东欧重型火炮。我回来时，尤里从苏军军械库带回来一辆斯大林之拳。随后尤里带着我和一辆斯大林之拳前往非洲，与天蝎组织合作，让其领导人——拉什迪用斯大林之拳逆向工程开发新军备坦克，"
                "我指挥着天蝎组织的部队配合着斯大林之拳的产能摧毁了当地美国大使馆。我又回美国帮助苏联侵略东南部，途中遇见昔日的军校好友，他还在努力保家卫国，他的国家正在被苏联蚕食。后来尤里在美国中部部署了心灵增幅器，但是被顽强的美军摧毁，尤里无奈控制总理发射MIDAS弹头摧毁美国主力，美国的战争不能成为消耗战。"
                "但心灵部门能力遭怀疑，因为最终征服美国的不是尤里的心灵增幅器，而是MIDAS洲际导弹。先前的斯大林之拳是尤里从军械库偷得，那件事查的很紧了。尤里让我转移注意力，嫁祸盟军，我又带着超能力部队控制了盟军间谍，渗透苏联军械库。"
                "之后尤里预见了危险，苏联的MIDAS导弹要受到威胁，于是我和尤里分别带着两个小分队转移了两枚MIDAS弹头，苏军剩余弹头和制造基地果然在不久被盟军摧毁，我和尤里上交手中的MIDAS弹头。一段时间后，中国因西部叛乱找尤里，想要尤里在中国西部去部署心灵信标稳定叛军，这样中国才能放心应对对日本的进攻。尤里帮助了中国，并作为交换可以在日本的中国占领区观察。"
                "尤里才不想让中国如此舒服，尤里让天蝎组织在中国西部制造混乱，使中国叛军掌控信标。之后我们来到了日本，在中日交战区，尤里控制了当地年轻的中国指挥官，而我代替该中国指挥官展现指挥风采歼灭日军后，我们带着金川工业部分成果跑路。路上还遇见了美国校友，我对他出现在这里很惊讶，我跟他说是来作为中国指挥官指挥战斗的，他听了我这句话，似乎有些不开心，没有告诉我他的目的，可能是因为尤里在场，也可能是因为他此行真的是有很大的军事机密。"
                "事后该中国指挥官可能是名侦探柯南看多了？做起了毛利小五郎。尤里回来发现部下无意逮捕了云茹，但是此时已经被救走了，尤里说没关系，已经获得了云茹的信息了。苏联内战时，"
                "尤里想保护最后一枚MIDAS导弹打击中国首都以重获苏俄信任，但导弹遭中国埋伏，转移过程中地下通道入口坍塌，我和尤里只能带领心灵部门脱离苏俄，删除超能力部队信息，夺取了一座火箭发射台飞往月球并藏匿起来。";
    m["盟军指挥官"] = "个人经历：我在军校有两个好友，其中一位来自苏俄，毕业时，我们三个人曾郑重其事地约定，无论未来如何，都绝不会对彼此动手，永远是好兄弟，互相支持。我是美国人，毕业后回美国成为盟军指挥官。"
                      "就职后得知“和平守卫者”洲际导弹被毁，随后苏联进攻，我被派往美国东部守卫华盛顿，虽抵住进攻，但华盛顿北边的纽约和美国西部相继陷落。"
                      "随后我被派往美国中部，和谭雅稳住局势不让苏联继续推进，之后又去支援南部，守住美墨边境线。我又去支援东南沿海，再次与谭雅合作稳住当地局势，但我刚离开南部边境线的那座城市，苏联又入侵，美国总统被杀。"
                      "我在美国东南沿海偶遇军校好友，得知他不是苏联人，他还是如往常一样有点神神叨叨的。我又被调往纽约附近，途中得知东南沿海又丢了。"
                      "我带领部队调查纽约:情报说我们一些尝试夺回纽约的部队都莫名其妙失联了。最终我调查发现有一座可控制心智的奇怪建筑而后我们摧毁了它。之后西部苏军又进攻，中部城市陷落，且又安装了类似的控制心智的装置，深知其可怕的美国上下一心，齐心协力摧毁了它，但是却被苏联发射的MIDAS洲际导弹击中，美国主力与城市随着洲际导弹的落地都灰飞烟灭。"
                      "我只能着手准备离开美国开始逃亡。我听说苏联校友正在美国，我只身去寻找他。"
                      "我提供给他那些瓜分科技的“盟友”基地的情报：（欧盟和太平洋阵线在加拿大建立了一座通讯基地，名义上是接收美国的难民，实际上是想要瓜分美国的科技。）请他替我报复这些叛徒。他答应了我。我还是不愿意加入共产主义的事业，随后我开始了我的流浪。"
                      "我跟着谭雅等极少数美军逃亡，我们潜入了苏俄，摧毁所有MIDAS洲际导弹和生产基地后到欧洲盟友处。在这里我们看到欧洲也被苏联入侵。"
                      "欧盟正面战场败退，欧洲瓜分美国的墨丘利卫星终端系统也不知为何不能用，但是欧洲的科学家——西格弗里德跟我说，我们还有最后一个办法。那就是我们的悖论计划，只要保留这个火种在，一切都还有机会。，先前他们已经转移了美国的悖论科学家了。我联系上太平洋阵线，发现日本全境都岌岌可危，但是日本也还有悖论计划的科学家，于是我只身前往日本，秘密撤出了参与悖论计划的日本科学家，将他们救回了英国。在去日本救科学家时，发现当地中占区有许多太平洋的军备，还遇见了那位神神叨叨的军校好友，据他说是来这里指挥中国战斗的，跟他一起来见我的还有一位光头。欧洲和英伦三岛有短剑保护系统，本是可以拦截洲际导弹的，可是不知为什么"
                      "不知哪来的一枚MIDAS射向欧洲盟军总基地，欧洲短剑保护系统被什么人破坏，最终校准失败，盟军紧急转移了当地的悖论科学家去英伦三岛，盟军在欧洲和的总基地化为乌有。盟军因此丧失了对欧洲控制，转守英伦三岛。但是只要有悖论的科学家在，一切都还有希望。";
    m["将军同志"] = "个人经历：我在军校有两个好友，其中一位来自美国，毕业时，我们三个人曾郑重其事地约定，无论未来如何，都绝不会对彼此动手，永远是好兄弟，互相支持。"
                "我是苏俄人，毕业后我理所应当在苏俄服役，成为一名苏俄指挥官，我被派遣指挥苏联军队入侵美国。"
                "虽兵力不多，但有鲍里斯支援和我优秀的指挥，拿下纽约，但是鲍里斯不幸身亡。"
                "之后我被派往美国西部，展现出高指挥能力，但是墨西哥方面进展不顺利又被派往南部，情报显示，美国总统就藏身于此，我还得到了莫拉莱斯的支援，莫拉莱斯在我的指挥下暗杀了美国总统，而我也指挥着当地苏联军队突破了美国南部边境线。"
                "此时美国的盟友日本向苏俄本土东部进攻，我被紧急调回国防守，中国作为苏俄的盟友国竟然没有提前给我们情报，且还没有支援，但是凭借我的领导指挥能力，成功击退了日本联军，在末期中国的支援终于到了，但此时他们的支援不再重要，我已经基本打退了日本的进攻。"
                "防守战胜利后，我又被调回美国参与侵略，打下了美国中部的一座城市，最高指挥部说丢一辆斯大林之拳，而我被怀疑，从而被剥夺武器权限，另外还有一枚MIDAS弹头不明发射，总理指责没有经过他的同意就发射了，而最高指挥部声称是得到了总理的批准才发射的。"
                "总之因为这两件事，我被怀疑而撤下战场，但是最高指挥部还是想要发挥我的才能，但是我又没有武器权限，所以派给我了一个基本不可能完成的任务：从欧洲西部登陆，拿下法国巴黎。且可供我指挥的军队只有一人一狗（沃尔科夫 契特卡伊），二位本是二战时苏联的英雄，第三次世界大战被改造为半机械装甲，凭借自身强大的技能和我的指挥，成功拿下了法国巴黎，完成了任务。随后中国也参与到了对欧洲的入侵。"
                "美国主力被MIDAS导弹摧毁后，我回到美国，才得到一些事情的经过，在我打下的那座美国中部城市，总理的顾问尤里部署了心灵信标，尤里说心灵信标可以直接控制一块区域内人的心智，让他们拥护苏联人，因此心灵信标选择部署在美国中部，一旦启动就可以通过这种方式直接征服美国。可是没有我的指挥再加上美国人的拼死抵抗，心灵信标最终被毁灭，而后才有了那枚乌龙的MIDAS被发射的事。"
                "我的那位美国校友找到我，痛斥了美国盟友的行为，他告诉了我美国盟友们瓜分美国科技的通讯基地，让我帮忙摧毁。我答应了，"
                "我本就在美国苏军这里就有威望，后我又重创欧洲联盟和太平洋阵线在加拿大的通讯基地，吸引了美国人投诚。可惜我的校友还是不愿意加入苏联。"
                "我在美国有了自己的基本盘。然后又在太平洋配合尤里的超能力部队摧毁了美国的墨丘利卫星终端。说来尤里这些人真奇怪，一个个都是光头，包括尤里也是。"
                "我私自出兵重创的通讯基地的事情上报给最高指挥部后，最高指挥部没有怪罪我，而让我去中国西部做调查。"
                "我的嫌疑变小了，因为最高指挥部查到了盟军渗透苏联军械库的痕迹。"
                "因最高指挥部在中国领土上见到了被中国叛军掌握的心灵信标。我带着两位苏联英雄（一人一犬），拆除了当地的心灵信标。而后我先一步离开又被调往了日本，来调查日本。最高指挥部发现这里的中国军队和日本军队的冲突很少，所以才让我来调查。"
                "我带着莫拉莱斯等人到太平洋阵线地盘，发现此地的日本军队已投降中国，苏俄得知自己被欺骗了，给我大批部队来对抗中日联军，同时得知沃尔科夫和契特卡伊在中国被捕。"
                "中国谴责苏俄未经盟友允许私自出兵盟友领土，而苏俄也发现美国和日本的微妙关系，因此苏俄与中国撕破脸。"
                "最高指挥部计划用最后一枚MIDAS射向中国首都，但是在中国的埋伏下被埋葬在了用于撤离地下通道内。"
                "中国调遣中日联军到中俄边境，大战一触即发，我虽莫名其妙失去超能力部队训练权限，但抵御住中国进攻，还救回了苏联英雄沃尔科夫和契特卡伊，最后中国被打服，世界迎来苏维埃大胜利。"
                "我厌倦指挥部勾心斗角，决定回苏维埃美利坚并接家人过去，若指挥部对我不利，我可带苏维埃美利坚脱离苏俄。"
                "回苏维埃美利坚途中，我听说另一位军校的好友去过非洲，于是我去非洲找军校好友，但是未找到，却看见中国科学家云茹与当地天蝎组织的人在一起。";
    m["天秤"] = "个人经历：我是尤里根据云茹的身体克隆出来的，一直躺在车里。尤里灌注的心灵能量让我能感知世界，但强大的心灵能量使我周围重力场不稳。"
                "所感知到的世界：我在中亚地下设施被克隆出实体，我一直躺在尤里精心呵护的充满心灵能量的车里。"
                "异教有一位名为异教的优秀指挥官，但是他不知道我的存在。几乎所以尤里的行动都有他的踪迹。"
                "我感知到云茹和一些天蝎组织的人被救走了。云茹今后将成为尤里实现理想的心头大患。我被苏联人注意到了。"
                "尤里多次行动都留下了不稳定的重力场。"
                "你可以瞎掰，全世界拉丁美洲没有事情发生，美国阿拉斯加无事发生，格陵兰岛无事发生，南极洲无事发生，都可以瞎掰，他们想不出来的事你可以进去瞎掺和。"
                "怕你无聊，我给你瞎编一些：我是格陵兰岛的爱斯基摩人，我在这里每天钓鱼，吃饭，烫头。我曾经去过地心探险过，当时尤里就在那里，还有他的好指挥官——异教，他们都在地心作业，可牛逼了。"
                "我还去过太阳上，当时云茹带着盟军指挥官私奔到银河系以外了。我生活在亚马逊，我是食人族，我专门吃人，当地的武装分子统统被我吃了。我跟莫拉莱斯一起打过猎，跟谭雅一起做过爱，和马尔翁逗过蛐蛐儿。"
                "我在阿拉斯加带领当地美军一起抵御了美国的多次进攻，我在月球发动了雷霆半月斩。";
    m["拉什迪"] = "个人经历：我是非洲人，我生长的地方长期遭受美帝国主义侵害，我和兄弟们成立天蝎组织反抗美军霸权。同时我还对化学有研究，我也正在研制一种神经毒素能使人更加强壮，我很聪明，用盟军坦克残骸就能做出拼装坦克。虽然这种坦克还是跟美军坦克没法比吧，但是我们也是有了自己的坦克。"
                  "不久，一位来自苏联的客人——尤里来找我合作，他说可以帮我根除美军势力，而我要为他开发新武器装备和成为尤里的打手。虽然我对他知之甚少，但是我们最终达成合作，我们这些年被美军压迫的太惨了。能除掉此地的美军是再好不过了。尤里还带来苏联的科技结晶——斯大林之拳来供我研究。我得知他有一些控制人心的手段，我警告他不要对我用心灵控制手段。我制作的神经毒素可以帮助我抵御心灵控制，尤里也很识趣没有对我用心灵手段，我们的合作很愉快。"
                  "随后尤里的指挥官异教，指挥部队拔除了美国在非洲的大使馆，天蝎组织影响力扩大，势力遍布非洲，甚至接触到了西亚南亚。尤里又带着他的指挥官异教来找我，要借天蝎组织力量占领中国西部的心灵信标，我跟天蝎组织的兄弟们说了这件事，我们一致认为可行，上一次摧毁美国大使馆的行动中，这个异教就展现出了惊人的指挥能力。最终计划不出意外的进行的非常顺利。"
                  "之后我持续为尤里开发大量新军备。突然有一天，我的好兄弟马尔翁告诉我尤里用天蝎组织兄弟做人体实验，我们必须重新考虑合作并找后路。而马尔翁引荐了跟兄弟们一起逃出来的中国科学家云茹。那时，我们的一些兄弟被困着中亚一所地下研究所内，是中国派出的救援小队来救云茹顺路救下的我们的，一路上马尔翁跟中国的小队并肩作战，云茹也展现了自己的实力，瘫痪了那个地下设施的防御系统，路上还遭遇了一些强壮的怪物，好不容易我们才突围出来的。"
                  "最终我们天蝎组织与云茹达成共识——尤里才是最终真正的敌人。我开始大量展开化学研究，生产对抗心灵控制的神经毒素。尤里让天蝎组织帮忙保护一枚导弹，但是地点在苏联境内深处，天蝎组织在那边并没有什么气候，我当面拒绝了尤里，实在也是爱莫能助，但是我带着一队小分队偷偷前往，并以尤里部下的身份混入。"
                  "我们提前进入了地下通道并埋藏炸药，引爆后炸塌洞口，拆卸导弹并带到天蝎组织，狠狠坑了尤里一把。随后用导弹向云茹换取大量中国军备，甚至有一座核武器，拥有了短程核打击能力。";
    m["云茹"] = "个人经历：我出生在中国，为中国科技攀升贡献大，中国高层刻意在克什米尔给我批了一块专属的科研基地。 "
                "但得知我的成就最终都将用于战争后我的创作热情逐渐低迷。因为我在中国获得的地位，我还知道中国早些年就同太平洋阵线签订秘密条约，很多日本将领早早就是中国的人了。"
                "我父母被国家软禁，国家让我参与一场对欧洲的行动，我只能无奈参加，让我利用网络入侵能力打乱欧盟防备洲际导弹装置的校准。"
                "之后中国本身就已经派军队入侵欧洲了，还想去入侵日本，但是西部的叛军一直活跃，武秀荣将军去跟苏俄的尤里合作，要了一座心灵信标安置在了西部。"
                "中国在入侵欧洲的同时进攻日本，首战告捷，部分太平洋阵线部队放弃抵抗。而后我被派往日本与当地的金川工业合作研发，途中见中国西部叛军掌握了当地的心灵信标，而苏俄人未经允许出兵摧毁，"
                "我当即逮捕了相关人员(一人一犬)，他们身穿半机械铠甲，而我瘫痪了他们的装甲。随后我继续前往日本。到了日本，我接见武秀荣将军，武秀荣将军向我介绍一位呆头呆脑的将军，说他迅速撕开了日本阵线，武秀荣将军在后面带着大部队还没赶到就降服了当地日军。中国在日本的进攻很顺利，因为当年那个条约的缘故，不断有日军来降。中国并没有把实际占领进度告诉盟友，而我一直在当地的金川工业工作。一段时间后苏俄发现我们跟日本的微妙关系了，并打击我们在日本的秘密基地，我被撤回国内，我作为一个科学家，理所应当被撤回国内，而且我这位科学家对于中国的重要程度不言而喻了。我在回克什米尔的研究基地的途中，遭遇到了埋伏，我被一剂麻醉针击倒。"
                "我醒来时被武秀荣将军的部队从克隆缸救起，发现身处中亚地下研究所，里面进行着非人类实验，我当时被严密保护，大概他们不知道我的身份，只是出于我的卫兵拼死保护我才认为我是重要人物。"
                "我们逃脱时我瘫痪了该地下设施自卫手段，途中又遇大型监狱，里面关着很多人，还有一些克隆缸。虽想救但因紫色气体出现未成功，紫色气体让里面的人变成狂兽人，"
                "最终在武秀荣派来的小分队和天蝎组织成员帮助下清理狂兽人逃出。我向中国高层报告此事但未被重视。中国现在正忙于跟苏俄的战争。"
                " 但是我因为这件事结识了天蝎组织，天蝎组织对尤里的了解比我多，他们告诉了我更多尤里的可怕，与他们开展合作，我有了科研的热情，一个一个成就接踵而至，高层看到了我的努力，因此给我更多权限，甚至我在克什米尔拥有了一支自己的私军且配备我最新的科研成果。"
                "天蝎组织头目送给我了一枚MIDAS弹头，展现出了莫大的诚意。我也回礼提供大量中国军备甚至包括一座核弹发射井，我们约定保密。MIDAS导弹我并没有上交国家，而是藏在了克什米尔。\n";



    mm["异教"] = "\n和平守护者一事不能暴露；\n调查洞口坍塌原因；\n不让尤里偷斯大林之拳的事暴露；\n"
                 "不让别人得知尤里和天蝎组织有合作；\n不让别人得知我（或尤里）用超能力部队心灵控制盟军间谍渗透苏联军械库；"
                 "\n不让别人得知我和尤里在日本获得了一些金川工业的成果；\n不暴露自己和尤里现在的位置；\n"
                 "尽可能不让别人知道你们军校三人的事不要给彼此添麻烦，并得知军校好友的下落。";
    mm["盟军指挥官"] = "个人目标：\n“和平守护者”是被谁毁掉的？\n墨丘利卫星为什么不能用了？\n短剑保护系统被谁破坏？\n日本为何溃败得比欧盟还快？\n"
                       "尽可能不让别人知道你们军校三人的事不要给彼此添麻烦，并得知军校好友的下落。\n不要让别人得知悖论计划仍在英国稳步进行。";
    mm["将军同志"] ="\n    - **个人目标**："
                     "\n盟军现在是否还有威胁？如有，什么威胁；"
                     "\n得知军校好友的下落；"
                     "\n太平洋阵线突袭苏俄东部为何中国没有动静；"
                     "\n地下洞口的坍塌是谁干的；"
                     "\n丢失的斯大林之拳去向；"
                     "\n调查最高指挥部MIDAS弹头的意外发射是怎么回事；"
                     "\n不要让任何人察觉到我有“谋反”的可能。"
                     "\n尽可能不让别人知道你们军校三人的事不要给彼此添麻烦，并得知军校好友的下落。";
    mm["天秤"] = "个人目标：\n不要让他们认为你真的只是在车里躺着，要让他们以为我是一个活生生的人；"
                 "\n在游戏里必须要说够三遍“其实我一直在车里躺着”或类似意思的话。公共目标加分对你无效";
    mm["拉什迪"] = "\n不要让云茹知道我正在和尤里方面合作；\n不要让尤里方面知道我正在和云茹合作；\n"
                   "不要让尤里方面知道正在研制神经毒素；\n不要让尤里方面知道我要跟他撕破脸皮；\n"
                   "保守与尤里之间的秘密（尤里赠送给你斯大林之拳供你研究）；\n保守与云茹之间的秘密（MIDAS弹头是你窃去并转交给云茹）。";
    mm["云茹"] = "个人目标：\n调查尤里暗地里都做了什么；\n（斯大林之拳军械库云茹被克隆等等哪些是尤里做的）\n调查尤里现在在哪里；"
                 "\n不要让别人得知你经手过一枚MIDAS弹头(实际现在也仍在你手里)；\n不让别人知道当年中国对日本做的手脚；"
                 "\n不要让任何人得知我跟拉什迪合作。\n公共目标加分对你无效";
    // 设置窗口标题和尺寸
    setWindowTitle("登录");
    setFixedSize(400, 600);

    // 设置布局
    QVBoxLayout *mainLayout = new QVBoxLayout(this); // 注意这里直接设置了父类
    mainLayout->setContentsMargins(0, 0, 0, 0); // 移除布局边距
    mainLayout->setSpacing(0); // 设置布局间距为0

    // 创建一个背景标签用于显示背景图片
    backgroundLabel = new QLabel(this);
    backgroundLabel->setPixmap(QPixmap(userData["异教"].second.first()));
    backgroundLabel->setScaledContents(true); // 使背景图片缩放以适应标签大小

    QVBoxLayout *overlayLayout = new QVBoxLayout(this);

    overlayLayout->setContentsMargins(0, 0, 0, 0); // 移除布局边距
    overlayLayout->setSpacing(0); // 设置布局间距为0

    // 将所有控件添加到背景标签上
    usernameLineEdit = new QLineEdit();
    usernameLineEdit->setPlaceholderText("请输入用户名");


    passwordLineEdit = new QLineEdit();
    passwordLineEdit->setPlaceholderText("请输入密码");
    passwordLineEdit->setEchoMode(QLineEdit::Password);  // 设置密码框为隐藏文本模式


    loginButton = new QPushButton("登录");
    previousPageButton = new QPushButton("上一页");
    nextPageButton = new QPushButton("下一页");
    previousPageButton->setEnabled(false);
    nextPageButton->setEnabled(false);

    infoTextEdit = new QTextEdit("欢迎游玩！作者QQ：1813960266");
    infoTextEdit->append(" \n微信：qq1813960266\n有建议联系我。\n《第三次世界大战：末日序曲》\n### 故事背景\n苏联包括：苏俄、中国、拉丁同盟\n盟军包括：美国、欧盟、太平洋阵线（主要成员国是日本）。\n核弹发射井是苏系通用高级军备。\n洲际导弹拥有全球毁灭性打击能力\n（和平守护者、MIDAS导弹）。\n心灵能力可控制人的心智。\n苏俄本是美国的殖民附属国，但是数年前罗曼诺夫雇佣尤里为军事顾问后，盟军对苏联控制渐失，\n苏联民众社会主义情绪高涨，美国逐渐撤出俄罗斯本土。\n斯大林之拳是苏俄高级军备，是苏俄的科技结晶\n登录角色账号后此提示不可见。\n\n改编自《命令与征服：心灵终结》剧情。");
    overlayLayout->addWidget(usernameLineEdit);
    overlayLayout->addWidget(passwordLineEdit);
    overlayLayout->addWidget(infoTextEdit);
    overlayLayout->addWidget(loginButton);
    overlayLayout->addWidget(previousPageButton);
    overlayLayout->addWidget(nextPageButton);
    backgroundLabel->setLayout(overlayLayout);
    mainLayout->addWidget(backgroundLabel);
    setLayout(mainLayout);
    // 设置控件的透明度

    for (QObject *obj : this->children())
    {
        if (qobject_cast<QWidget*>(obj))
        {
            qobject_cast<QWidget*>(obj)->setStyleSheet("background-color: rgba(128, 0, 128, 0.5); padding: 4px;");
        }
    }

    infoTextEdit->setStyleSheet("background-color: rgba(0, 0, 0, 0.1);padding: 4px;");
    connect(loginButton,&QPushButton::clicked, this, &LoginWindow::onLoginButtonClicked);
    connect(previousPageButton, &QPushButton::clicked, this, &LoginWindow::onPreviousPageButtonClicked);
    connect(nextPageButton, &QPushButton::clicked, this, &LoginWindow::onNextPageButtonClicked);
}
// 登录&验证 按钮点击事件
void LoginWindow::onLoginButtonClicked()
{
    QString username = usernameLineEdit->text();
    QString password = passwordLineEdit->text();
    if(bo)
    {
        if(passwordLineEdit->text()==YanZheng)
        {
            YanZheng = "12345MO";
            pageSum++;
            pageCurr = pageSum - 1;
            QString str;
            if(passwordLineEdit->text()=="MO12345")
            {
                str = "一所军校内最优秀的三名学生有着深厚的友谊，可惜他们理念不同"
                              "\n调查“和平守护者”的美军发现几具尸体附近重力场不太稳固，还有一些脑袋扁扁没有大脑和头发的尸体"
                              "\n留非美军：当地武装力量空前高涨！美国大使馆被摧毁，当地武装力量蔓延至亚洲"
                              "\n苏俄最高指挥部眼线：中国人曾多次来访过心灵部门"
                              "\n某位呆头呆脑的中国指挥官，似乎并没有什么才能"
                              "\n尤里的人早早就进入MIDAS要撤离地下通道内"
                              "\n故事的最后，一座火箭发射台失去联系据悉，可前往月球"
                              "\n盟军基地残骸未发现任何苏军军备技术，正常？也不正常。"
                              "\n莫拉莱斯偶然发现心灵部门秘密保护着一辆车，车内有一位昏迷少女周围重力场不稳定显著里面的人可能是云茹"
                              "\n鲍里斯非枪弹所伤致死，尸体旁曾存在一段时间不稳定的重力场"
                              "\n美国人与将军同志来往十分密切.将军同志将他的家眷接到了美国"
                              "\n心灵部门：位于中亚一座底下研究所被捣毁，里面的中国人和许多当地人被救走"
                              "\n非洲树立了一座核弹发射井";
            }
            if(passwordLineEdit->text()=="12345MO")
            {
                str = "\n云茹所在的克什米尔兵力充沛"
                      "\n入侵美国东南沿海的苏联人报告心灵部门的指挥官与一个美国人有染"
                      "和盟军指挥官、谭雅一同去的美军中，有人注意到原本应藏匿MIDAS弹头的两个位置是空缺的。"
                      "\n当年日本加入美国的公投时，中国人做过手脚"
                      "\n中国传来的讯息；金川工业有隐身技术成果，但发现时实验成果被人抢先一步"
                      "\n云茹的军队发现天蝎组织的马尔翁有隐身装置"
                      "\n苏联军械库的另一款主战坦克出现在非洲"
                      "\n非洲最近建起有很多神经毒素工厂"
                      "\n非洲的苏军称竟然在当地见到了将军同志"
                      "\n苏俄最高指挥部说攻击美国中部那颗MIDAS得到了总理的批准，"
                      "\n但总理并不承认这件事，还谴责最高指挥部没经过他的同意就发射"
                      "\n欧盟总基地废墟找到写有《悖论》的文件？"
                      "\n苏俄最高指挥部眼线：尤里的行动遍布美国，亚洲，非洲，欧洲"
                      "\n中国方面在日本一处本要收编的金川工业科研基地主要科研人员全部失踪。";
                loginButton->setEnabled(false);
            }
            pages.append(str);
            updatePage();
        }
        else
        {
            QMessageBox::warning(this, "验证失败", "验证码错误");
            passwordLineEdit->clear();
        }
    }
    else if (userData.contains(username))
    {
        if (userData[username].first.first == password)
        {
            previousPageButton->setEnabled(true);
            nextPageButton->setEnabled(true);
            startTimer();
            bo = true;
            passwordLineEdit->clear();
            passwordLineEdit->setPlaceholderText("请输入线索验证码");
            usernameLineEdit->setReadOnly(true);
            usernameLineEdit->setAlignment(Qt::AlignCenter);
            loginButton->setText("验证");
            Change(username,usernameLineEdit);
            Change(username,passwordLineEdit);
            Change(username,infoTextEdit);
            Change(username,loginButton);
            Change(username,previousPageButton);
            Change(username,nextPageButton);
            // 获取用户的文本内容并进行分页
            QString textContent = m[username];   // 总文本
            QString str = "";
            int last = 0;
            for (int i = 0; i < textContent.length(); i += 23)
            {
                if((i-1)%(23*20)==0 || (last>(i-1)%(23*20) && i != 0) )
                {
                    pages.append(str);
                    str.clear();
                }
                last = (i-1)%(23*20);
                str += textContent.mid(i, 23);
                str += '\n';
            }
            if((textContent.length()-1)%(23*20))
            {
                pages.append(str);
            }

            pages.append(mm[username]+"\n全体目标：弄清楚在场各位谁手里还有MIDAS弹头，有几枚。");

            pageSum = pages.size();  //总共有几页

            updatePage();

            // 设置背景，使用循环更换背景图
            backgroundImages[username] = userData[username].second;
            backgroundLabel->setPixmap(QPixmap(userData[username].second[0]));
        }
        else QMessageBox::warning(this, "登录失败", "密码错误");
    }
    else QMessageBox::warning(this, "登录失败", "没找到这个账户");
}

// 上一页按钮点击事件
void LoginWindow::onPreviousPageButtonClicked()
{
    if(mapCurr>0) mapCurr--;
    else mapCurr = 4;
    if (pageCurr > 0) pageCurr--;
    else pageCurr = 0;
    updatePage();
}

// 下一页按钮点击事件
void LoginWindow::onNextPageButtonClicked()
{
    if(mapCurr<4)mapCurr++;
    else mapCurr = 0;

    if (pageCurr < pageSum - 1) pageCurr++;
    else  pageCurr = 0;
    updatePage();
}


void LoginWindow::updatePage()
{
    QString username = usernameLineEdit->text();
    infoTextEdit->clear();
    infoTextEdit->append(pages[pageCurr]);
    backgroundLabel->clear();

    backgroundLabel->setPixmap(QPixmap(userData[username].second[mapCurr]));
}

void LoginWindow::Change(QString str, QPushButton *button)
{
    QString string ;
    if(str=="盟军指挥官")
    {
        string = "background-color: rgba(0, 0, 255, 0.3); ";
    }
    else if(str=="天秤")
    {
        string = "background-color: rgba(128, 0, 128, 0.3);";
    }
    else if(str=="将军同志")
    {
        string = "background-color: rgba(255, 255, 0, 0.3);";
    }
    else if(str=="异教")
    {
        string = "background-color: rgba(128, 0, 128, 0.3);";
    }
    else if(str=="云茹")
    {
        string = "background-color: rgba(0, 0, 139, 0.3);";
    }
    else if(str=="拉什迪")
    {
        string = "background-color: rgba(255, 255, 0, 0.3);";
    }
    else qDebug()<<"error!!!!!";
    QString sss =string +  "border-radius: 15px; ";
    button->setStyleSheet(sss);

}

void LoginWindow::Change(QString str, QLineEdit *edit)
{
    QString string ;
    if(str=="盟军指挥官")
    {
        string = "background-color: rgba(0, 0, 255, 0.3); ";
    }
    else if(str=="天秤")
    {
        string = "background-color: rgba(128, 0, 128, 0.3);";
    }
    else if(str=="将军同志")
    {
        string = "background-color: rgba(255, 255, 0, 0.3);";
    }
    else if(str=="异教")
    {
        string = "background-color: rgba(128, 0, 128, 0.3);";
    }
    else if(str=="云茹")
    {
        string = "background-color: rgba(0, 0, 139, 0.3);";
    }
    else if(str=="拉什迪")
    {
        string = "background-color: rgba(255, 255, 0, 0.3);";
    }
    else qDebug()<<"error!!!!!";
    QString sss =string +  "border-radius: 15px; ";
    edit->setStyleSheet(sss);
}

void LoginWindow::Change(QString str, QTextEdit *edit)
{
    if(str=="盟军指挥官")
    {
        edit->setTextColor(Qt::yellow);
    }
    else if(str=="天秤")
    {
        edit->setTextColor(QColor(128,255,128));
    }
    else if(str=="将军同志")
    {
        edit->setTextColor(Qt::yellow);
    }
    else if(str=="异教")
    {
        edit->setTextColor(QColor(128,255,128));
    }
    else if(str=="云茹")
    {
        edit->setTextColor(QColor(0,255,255));
    }
    else if(str=="拉什迪")
    {
        edit->setTextColor(Qt::yellow);
    }
    else qDebug()<<"error!!!!!";
    edit->setStyleSheet("border-radius: 10px; "// 这个成功应用
                        "background-color: rgba(0, 0, 0, 0.3); ");
}
// 最后这个change很棒
void LoginWindow::startTimer()
{
    // 开始定时器，每 1 秒触发一次
    timer->start(1000);  // 每1000毫秒(1秒)触发一次
}

void LoginWindow::updateTimer()
{
    // 更新剩余时间
    if (secondsRemaining > 0) {
        secondsRemaining--;
    }

    // 每 30 分钟提醒一次，并且最多提醒两次
    if (secondsRemaining == 0 && reminderCount < 2) {
        reminderCount++;
        showReminder(); // 显示提醒
        secondsRemaining = 30 * 60; // 重置剩余时间为 30 分钟
    }

    // 如果到达最大提醒次数，停止计时器
    if (reminderCount >= 2) {
        timer->stop();
    }
}

void LoginWindow::showReminder()
{
    if(flagTime)    QMessageBox::information(this, "提醒", "公布线索验证码：12345MO");
    else
    {
        QMessageBox::information(this, "提醒", "公布线索验证码：MO12345");
        flagTime = true;
    }
}

void LoginWindow::onTimerComplete()
{
    // 当时间到达时，停止计时器
    timer->stop();
}
